package com.ruoyi.materialCuttingPlan.domain;

import com.ruoyi.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * 门窗用料公式值对象 mcp_variable_value
 * 
 * @author ruoyi
 * @date 2025-07-05
 */
public class McpVariableValue extends McpBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 变量ID，主键自增 */
    private Long id;

    /** 门窗ID */
    @Excel(name = "门窗ID")
    @NotNull(message = "门窗不能为空")
    private Long windowsId;

    /** 变量ID */
    @Excel(name = "变量ID")
    @NotNull(message = "变量不能为空")
    private Long variableId;

    /** 变量名称 */
    @Excel(name = "变量名称")
    private String variableName;

    /** 赋值 */
    @Excel(name = "赋值")
    @NotNull(message = "赋值不能为空")
    @Max(value = 999999, message = "赋值不能大于999999")
    @Min(value = 0, message = "赋值不能小于0")
    private Long value;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setWindowsId(Long windowsId) 
    {
        this.windowsId = windowsId;
    }

    public Long getWindowsId() 
    {
        return windowsId;
    }
    public void setVariableId(Long variableId) 
    {
        this.variableId = variableId;
    }

    public Long getVariableId() 
    {
        return variableId;
    }
    public void setValue(Long value) 
    {
        this.value = value;
    }

    public String getVariableName() {
        return variableName;
    }

    public void setVariableName(String variableName) {
        this.variableName = variableName;
    }

    public Long getValue()
    {
        return value;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("windowsId", getWindowsId())
            .append("variableId", getVariableId())
            .append("value", getValue())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
